SDK/J Authentication Package ver1.0
RICOH Confidential

jp.co.ricoh.dsdk.scard.option.security
インタフェース AuthenticateService


public interface AuthenticateService

このインタフェースは、認証サービスをサポートします. CHVServiceが平文のパスワードやPINによるセキュリティを提供するのに対し、AuthenticateServiceは署名/暗号化によるさらに強度なセキュリティを提供します。Internal Authenticatonはターミナルに対するカードの認証を、External Authenticationはカードに対するターミナルの認証を行います。


メソッドの概要
 void closeApplication(SecurityDomain domain)
           実行されたExternal Authenticationをリセットします.
 boolean externalAuthenticate(SecurityDomain domain, int keyNum, SignCredential credential)
           External Authenticationを行います.
 int getChallengeLength()
           Internal Authenticationで使用するチャレンジとして要求される長さを返します.
 byte[] internalAuthenticate(SecurityDomain domain, byte keyNum, byte[] challenge)
           カードからのInternal Authenticationを要求します.
 

メソッドの詳細

closeApplication

public void closeApplication(SecurityDomain domain)
                      throws CardServiceException
実行されたExternal Authenticationをリセットします.

パラメータ:
domain - External Authenticationが有効なセキュリティ領域.
例外:
CardServiceException - カードサービスでエラーが発生した場合.

externalAuthenticate

public boolean externalAuthenticate(SecurityDomain domain,
                                    int keyNum,
                                    SignCredential credential)
                             throws VerificationException,
                                    CardServiceException
External Authenticationを行います. カードは、ランダムなチャレンジを生成し、引数として渡されたクレデンシャルを使用してチャレンジを暗号化します。暗号化されたチャレンジは、引数で渡された番号と対応する鍵を用いて検証されます。さらに、暗号化されたチャレンジがカードが期待するものと同一であれば、External Authenticationは成功です。

パラメータ:
domain - External Authenticationが有効なセキュリティ領域.
keyNum - External Authenticationに使用される鍵を識別する番号.
戻り値:
credential カードに対するアプリケーションの認証に使用されるSignCredential.
例外:
VerificationException - 認証に失敗した場合.
CardServiceException - カードサービスでエラーが発生した場合.

internalAuthenticate

public byte[] internalAuthenticate(SecurityDomain domain,
                                   byte keyNum,
                                   byte[] challenge)
                            throws VerificationException,
                                   CardServiceException
カードからのInternal Authenticationを要求します. カードは引数で渡されたランダムなチャレンジを取得し、カード内部でランダムチャレンジへの暗号化処理を行い、その結果をターミナルまたはホストアプリケーションに返します。ターミナルまたはホストアプリケーションはその結果を生成するのに使用された暗号化処理が期待されたものかどうかを検証します。検証の結果がOKであれば、Internal Authenticationは成功です。

パラメータ:
domain - Internal Authenticationが有効なセキュリティ領域.
keyNum - Internal Authenticationに使用される鍵を識別する番号.
challenge - カードに渡されるランダムなチャレンジ.
例外:
VerificationException - 認証に失敗した場合.
CardServiceException - カードサービスでエラーが発生した場合.

getChallengeLength

public int getChallengeLength()
Internal Authenticationで使用するチャレンジとして要求される長さを返します.

戻り値:
適切なランダムチャレンジのバイト長.

SDK/J Authentication Package ver1.0
RICOH Confidential